﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="GraphView.cs" company="OxyPlot">
//   The MIT License (MIT)
//
//   Copyright (c) 2012 Oystein Bjorke
//
//   Permission is hereby granted, free of charge, to any person obtaining a
//   copy of this software and associated documentation files (the
//   "Software"), to deal in the Software without restriction, including
//   without limitation the rights to use, copy, modify, merge, publish,
//   distribute, sublicense, and/or sell copies of the Software, and to
//   permit persons to whom the Software is furnished to do so, subject to
//   the following conditions:
//
//   The above copyright notice and this permission notice shall be included
//   in all copies or substantial portions of the Software.
//
//   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
//   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
//   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
//   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
//   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------
using MonoTouch.UIKit;
using System.Drawing;

using OxyPlot;
using OxyPlot.MonoTouch;
using ExampleLibrary;

namespace MonoTouch.Demo
{
	public class GraphView : UIView
	{
		private ExampleInfo exampleInfo;

		public GraphView (ExampleInfo exampleInfo)
		{
			this.exampleInfo = exampleInfo;
		}

		public override void Draw (System.Drawing.RectangleF rect)
		{
			var plot = exampleInfo.PlotModel;

			plot.PlotMargins = new OxyThickness(5);
			plot.Background = OxyColors.LightGray;
			plot.Update(true);

			var context = UIGraphics.GetCurrentContext();

			var renderer = new MonoTouchRenderContext(context);
			plot.Render(renderer, rect.Width, rect.Height);
		}
	}
}